
import {getToken, setToken, removeToken} from '@/utils/auth'
import {login} from '@/api/user'

const state = {
  // 从缓存中读取初始值
  token : getToken()
}

const mutations = {
  setToken(state, token){
    state.token = token;
    // 同步数据到缓存中去
    setToken(token);
  },
  removeToken(state){
    state.token = null;
    removeToken();
  }
}

const actions = {
  /**
   * 
   * @param {*} context 上下文参数
   * @param {*} data 传入的参数
   */
  async login(context, data){
    console.log(data);
    const token = await login(data);
    context.commit('setToken',token);
  }
}

export default {
  // 开启命名空间
  namespaced: true,
  state,
  mutations,
  actions
}